Approximation algorithm